package com.glory.erp.invoice.goodstype.action;

import java.util.List;

import com.glory.erp.invoice.goodstype.service.GoodsTypeService;
import com.glory.erp.invoice.goodstype.bean.GoodsType;
import com.glory.erp.invoice.goodstype.bean.GoodsTypeQuery;
import com.glory.erp.invoice.supplier.bean.Supplier;
import com.glory.erp.invoice.supplier.service.SupplierService;
import com.glory.erp.auth.base.BaseAction;

public class GoodsTypeAction extends BaseAction{
	
	public GoodsType goodsType = new GoodsType();
	public GoodsTypeQuery goodsTypeQuery = new GoodsTypeQuery();

	private GoodsTypeService goodsTypeService;
	private SupplierService supplierService;
	// 设置ajax json返回值
	private List<GoodsType> gtmList;
	public List<GoodsType> getGtmList() {
		return gtmList;
	}
	public void setSupplierService(SupplierService supplierService) {
		this.supplierService = supplierService;
	}

	public void setGoodsTypeService(GoodsTypeService goodsTypeService) {
		this.goodsTypeService = goodsTypeService;
	}

	/**
	 * 
	 * @Description: 商品类型展示
	 * @Title: list
	 * @Author: 樊双峰
	 * @Param: @return
	 * @return: String
	 * @Date: 2018年5月26日 上午2:35:49
	 * @throws
	 */
	public String list(){
		List<Supplier> supplierList = supplierService.findAll();
		put("supplierList", supplierList);
		setDataTotal(goodsTypeService.getCount(goodsTypeQuery));
		List<GoodsType> goodsTypeList = goodsTypeService.findAll(goodsTypeQuery,pageNum,pageCount);
		put("goodsTypeList", goodsTypeList);
		return LIST;
	}

	/**
	 * 
	 * @Description: 跳转至商品类型添加、修改页面
	 * @Title: addView
	 * @Author: 樊双峰
	 * @Param: @return
	 * @return: String
	 * @Date: 2018年5月26日 上午2:36:13
	 * @throws
	 */
	public String addView(){
		// 加载所有具有类别信息的供应商信息
		List<Supplier> supplierList = supplierService.findAll();
		put("supplierList", supplierList);
		if(goodsType.getUuid()!=null){
			goodsType = goodsTypeService.findById(goodsType.getUuid());
		}
		return ADD;
	}

	/**
	 * 
	 * @Description: 商品类型添加、修改操作
	 * @Title: saveAndUpdate
	 * @Author: 樊双峰
	 * @Param: @return
	 * @return: String
	 * @Date: 2018年5月26日 上午2:36:41
	 * @throws
	 */
	public String saveAndUpdate(){
		if(goodsType.getUuid() == null){
			goodsTypeService.save(goodsType);
		}else{
			goodsTypeService.update(goodsType);
		}
		return TO_LIST;
	}

	/**
	 * 
	 * @Description: 商品类型删除
	 * @Title: delete
	 * @Author: 樊双峰
	 * @Param: @return
	 * @return: String
	 * @Date: 2018年5月26日 上午2:37:05
	 * @throws
	 */
	public String delete(){
		goodsTypeService.delete(goodsType);
		return TO_LIST;
	}
	
	/**
	 * 
	 * @Description: ajax获取 供应商对应的商品类别信息
	 * @Title: ajaxGetBySupplier
	 * @Author: 樊双峰
	 * @Param: @return
	 * @return: String
	 * @Date: 2018年5月26日 下午4:07:02
	 * @throws
	 */
	public String ajaxGetBySupplier(){
		gtmList = goodsTypeService.findAllBySupplier(goodsType.getSupplier().getUuid());
		return "ajaxGetBySupplier";
	}
}